package com.ocom.common.entity.payconfig;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 缴费清单
 * </p>
 *
 * @author junShu
 * @since 2023-08-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "fee_data")
public class FeeData implements Serializable {

    private static final long serialVersionUID=1L;

    /**
     * id 主键自增
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 单位编号
     */
    private Long comId;

    /**
     * 人员编号
     */
    @JsonProperty("pId")
    private Integer pId;

    /**
     * 部门编号
     */
    private Integer deptId;

    /**
     * 缴费项目编号
     */
    private Integer itemId;

    /**
     * 1 未缴费 4 已缴费 5 已退费 0 退费失败
     */
    private Integer dataStatus;

    /**
     * 应缴金额 以分为单位
     */
    private Integer planMoney;

    /**
     * 实际缴费金额 以分为单位
     */
    private Integer completeMoney;

    /**
     * 退费金额 以分为单位
     */
    private Integer refundMoney;

    /**
     * 缴费订单号。保证不重复
     */
    private String orderNo;
    /**
     * 支付成功后保存支付订单号
     */
    private String tradeNo;

    /**
     * 缴费时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date feeTime;

    /**
     * 退费订单号。保证不重复
     */
    private String refundOrderNo;

    /**
     * 退费时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date refundTime;

    /**
     * 生成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+08")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 创建人p_id
     */
    private Integer createUserid;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+08")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 更新人p_id
     */
    private Integer updateUserid;


}
